package com.itbaizhan.springboottask;

import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Component;

import java.text.SimpleDateFormat;
import java.util.Date;

@Component
public class Mytask2 {
    // 立即执行，任务结束后每5秒执行一次
    /*@Scheduled(fixedDelay = 5000)
    public void test1() throws InterruptedException {
        SimpleDateFormat sdf = new SimpleDateFormat("HH:mm:ss");
        Thread.sleep(1000);
        System.out.println(sdf.format(new Date()));
    }*/

   // 立即执行，任务开始之后每5秒执行一次
   /*@Scheduled(fixedRate = 5000)
   public void test2() throws InterruptedException {
       SimpleDateFormat sdf = new SimpleDateFormat("HH:mm:ss");
       Thread.sleep(1000);
       System.out.println(sdf.format(new Date()));
   }*/
    //任务启动后，过了3秒再执行
   /* @Scheduled(initialDelay = 3000,fixedRate = 5000)
    public void test3() throws InterruptedException {
        SimpleDateFormat sdf = new SimpleDateFormat("HH:mm:ss");
        Thread.sleep(1000);
        System.out.println(sdf.format(new Date()));
    }*/
}
/*@Scheduled写在方法上方，指定该方法定时执行。常用参数如下：

cron：cron表达式，定义方法执行的时间规则。

fixedDelay：任务立即执行，之后每隔多久执行一次，
单位是毫秒，上一次任务结束后计算下次执行的时间。

fixedRate：任务立即执行，之后每隔多久执行一次，
单位是毫秒，上一次任务开始后计算下次执行的时间。

initialDelay：项目启动后不马上执行定时器，
根据initialDelay的值延时执行。*/